package com.uzai.common.enums.mini;

/**
 * The enum Mini order status.
 *
 * @author mingyang.chen create in 2023/11/1 17:09
 */
public enum MiniOrderStatus {

    /**
     * No pay mini order status.
     * 待付款
     */
    NO_PAY(1, "待付款"),
    /**
     * Wait ship mini order status.
     * 待发货（已付款）
     */
    WAIT_SHIP(2, "待发货"),
    /**
     * Wait receive mini order status.
     * 待收货（已付款）
     */
    WAIT_RECEIVE(3, "待收货"),
    /**
     * Complete mini order status.
     * 已收货（已完成）
     */
    COMPLETE(4, "已收货"),
    /**
     * Refund mini order status.
     * 已退款（已失效）
     */
    REFUND(5, "已退款"),
    /**
     * Refund success mini order status.
     * 已取消（已失效）
     */
    CANCEL(6, "已取消"),
    ;

    MiniOrderStatus(Integer code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    private Integer code;
    private String desc;

    public void setCode(Integer code) {
        this.code = code;
    }

    public Integer getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public static MiniOrderStatus getByCode(Integer code) {
        if (code == null) {
            return null;
        }
        for (MiniOrderStatus type: MiniOrderStatus.values()) {
            if (type.getCode().intValue() == code) {
                return type;
            }
        }
        return null;
    }

}
